From a8a446c409aa9e18b929d4664c37369ca05a52d2 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 18 Aug 2016 01:01:19 +0300 Subject: [PATCH] Remove root field from Resolve. --- src/cargo/core/resolver/encode.rs | 1 - src/cargo/core/resolver/mod.rs | 13 +++---------- src/cargo/ops/cargo_rustc/context.rs | 1 - src/cargo/ops/resolve.rs | 5 +---- tests/resolve.rs | 3 +-- 5 files changed, 5 insertions(+), 18 deletions(-) diff --git a/src/cargo/core/resolver/encode.rs b/src/cargo/core/resolver/encode.rs index ca4cdec2e..97623b718 100644 --- a/src/cargo/core/resolver/encode.rs +++ b/src/cargo/core/resolver/encode.rs @@ -140,7 +140,6 @@ impl EncodableResolve { Ok(Resolve { graph: g, - root: root, features: HashMap::new(), replacements: replacements, checksums: checksums, diff --git a/src/cargo/core/resolver/mod.rs b/src/cargo/core/resolver/mod.rs index d796a5c72..7a9e95336 100644 --- a/src/cargo/core/resolver/mod.rs +++ b/src/cargo/core/resolver/mod.rs @@ -69,14 +69,13 @@ mod encode; /// is a package and edges represent dependencies between packages. /// /// Each instance of `Resolve` also understands the full set of features used -/// for each package as well as what the root package is. +/// for each package. #[derive(PartialEq, Eq, Clone)] pub struct Resolve { graph: Graph, replacements: HashMap, features: HashMap>, checksums: HashMap>, - root: PackageId, metadata: Metadata, } @@ -200,10 +199,6 @@ unable to verify that `{0}` is the same as when the lockfile was generated self.graph.iter() } - pub fn root(&self) -> &PackageId { - &self.root - } - pub fn deps(&self, pkg: &PackageId) -> Deps { Deps { edges: self.graph.edges(pkg), resolve: self } } @@ -268,8 +263,7 @@ struct Context<'a> { } /// Builds the list of all packages required to build the first argument. -pub fn resolve(root: &PackageId, - summaries: &[(Summary, Method)], +pub fn resolve(summaries: &[(Summary, Method)], replacements: &[(PackageIdSpec, Dependency)], registry: &mut Registry) -> CargoResult { let cx = Context { @@ -279,13 +273,12 @@ pub fn resolve(root: &PackageId, activations: HashMap::new(), replacements: replacements, }; - let _p = profile::start(format!("resolving: {}", root)); + let _p = profile::start(format!("resolving")); let cx = try!(activate_deps_loop(cx, registry, summaries)); let mut resolve = Resolve { graph: cx.resolve_graph, features: cx.resolve_features, - root: root.clone(), checksums: HashMap::new(), metadata: BTreeMap::new(), replacements: cx.resolve_replacements, diff --git a/src/cargo/ops/cargo_rustc/context.rs b/src/cargo/ops/cargo_rustc/context.rs index 03c0b0d18..af915c224 100644 --- a/src/cargo/ops/cargo_rustc/context.rs +++ b/src/cargo/ops/cargo_rustc/context.rs @@ -76,7 +76,6 @@ impl<'a, 'cfg> Context<'a, 'cfg> { Arc::new(Box::new(ProcessEngine)) }); let current_package = try!(ws.current()).package_id().clone(); - assert_eq!(¤t_package, resolve.root()); Ok(Context { host: host_layout, target: target_layout, diff --git a/src/cargo/ops/resolve.rs b/src/cargo/ops/resolve.rs index 10fb4aa87..9ec3f55f4 100644 --- a/src/cargo/ops/resolve.rs +++ b/src/cargo/ops/resolve.rs @@ -148,10 +148,7 @@ pub fn resolve_with_previous<'a>(registry: &mut PackageRegistry, None => root_replace.to_vec(), }; - let mut resolved = try!(resolver::resolve(try!(ws.current()).package_id(), - &summaries, - &replace, - registry)); + let mut resolved = try!(resolver::resolve(&summaries, &replace, registry)); if let Some(previous) = previous { try!(resolved.merge_from(previous)); } diff --git a/tests/resolve.rs b/tests/resolve.rs index c472fae8e..9e30c0028 100644 --- a/tests/resolve.rs +++ b/tests/resolve.rs @@ -18,8 +18,7 @@ fn resolve(pkg: PackageId, deps: Vec, -> CargoResult> { let summary = Summary::new(pkg.clone(), deps, HashMap::new()).unwrap(); let method = Method::Everything; - Ok(try!(resolver::resolve(&pkg, - &[(summary, method)], + Ok(try!(resolver::resolve(&[(summary, method)], &[], registry)).iter().map(|p| { p.clone() -- 2.30.2